package com.resou.reader.setting;

import android.content.Context;
import android.content.SharedPreferences;

import com.resou.reader.R;

/**
 * Created by ${Garrett} on 2018/11/1.
 * Contact me krouky@outlook.com
 */
public class ReaderSettingSharedPref {

    private static final String READER_SETTING_NAME = "reader_setting";

    private static SharedPreferences sharedPreference(Context context) {
        return context.getSharedPreferences(READER_SETTING_NAME, Context.MODE_PRIVATE);
    }

    /**
     * 从SharedPreference中获取阅读器正文文字大小
     */
    static int getTextSize(Context context) {
        return sharedPreference(context).getInt("text_size", (int) context.getResources().getDimension(R.dimen.qb_px_25));
    }

    /**
     * 从SharedPreference中获取阅读器正文文字颜色
     */
    static int getTextColor(Context context) {
        return sharedPreference(context).getInt("text_color", 0xff000000);//默认黑色
    }

    /**
     * 从SharedPreference中获取阅读器背景颜色
     */
    static int getBackgroundColor(Context context) {
        return sharedPreference(context).getInt("background_color", 0xFFd8c9aa);//默认是牛皮黄色
    }

    /**
     * 从SharedPreference中获取阅读器行间距
     */
    static int getLineSpace(Context context) {
        return sharedPreference(context).getInt("line_space", (int) context.getResources().getDimension(R.dimen.qb_px_23));
    }

    /**
     * 保存阅读器文字大小
     */
    static boolean setTextSize(Context context, int textSize) {
        if (textSize <= 0)
            return false;
        return sharedPreference(context).edit().putInt("text_size", textSize).commit();
    }

    /**
     * 保存阅读器颜色
     */
    static boolean setTextColor(Context context, int color) {
        if (color < 0) {
            return false;
        }
        return sharedPreference(context).edit().putInt("text_color", color).commit();
    }

    /**
     * 保存阅读器背景颜色
     */
    static boolean setBackgroundColor(Context context, int background) {
        if (background < 0) {
            return false;
        }
        return sharedPreference(context).edit().putInt("background_color", background).commit();
    }

    /**
     * 保存阅读器行间距
     */
    static boolean setLineSpace(Context context, int lineSpace) {
        if (lineSpace < 0) {
            return false;
        }
        return sharedPreference(context).edit().putInt("line_space", lineSpace).commit();
    }
}
